/**
 * 
 */
package org.dftproject.lineagelinkage.metric;

import org.dftproject.genesis.data.genealogy.IPerson;

/**
 * @author Steve
 * @invariant
 */
public interface IPedigreeMetric {

	/**
	 * Compares two pedigrees according to a given model, and returns a non-null
	 * score
	 * @param pedigreeA The mainline pedigree to compare
	 * @param pedigreeB a possible pedigree that might match the mainline
	 * @return the score of the comparison according to the model given
	 * @pre pedigreeA & pedigreeB are non-null
	 * @post the result != null
	 */
	public abstract PedigreeScore comparePedigrees(IPerson pedigreeA,
			IPerson pedigreeB);

}